Score: a Compiler Representation for Heterogeneous Systems

نویسندگان

  • Glen E. Weaver
  • Kathryn S. McKinley
  • Charles C. Weems
چکیده

Heterogeneous parallel systems incorporate different models of parallelism within a single machine or across machines and are well suited for many diverse applications [1, 2, 3]. These systems offer a wealth of underutilized resources for achieving high performance, but are more difficult to program than homogeneous systems. Compilers can and should assist in handling this complexity. Previous research has not considered the impact of architectural heterogeneity on the compiler structure [4]. A compiler for heterogeneous systems needs to order transformations based on component architectures, represent diverse architectural features, allow extension to cover new machines, and reuse its transformations and intermediate representation (IR) to target different architectures. A compiler’s IR plays a central role in supporting these capabilities. This paper discusses each of these implications in detail and presents an intermediate representation, Score, that meets the needs of heterogeneity. In addition to incorporating nodes to represent a variety of architectural features, Score supports a new bi-level representation of important language constructs and employs a novel approach to defining the interface between transformations and IR nodes.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Compiler Representations for Heterogeneous Processing

The emergence of heterogeneous parallel systems opens the possibility of higher performance for complex, heterogeneous applications. Unfortunately, heterogeneous parallel systems are even more complex to program than homogeneous parallel systems. Programmers should not have to handle all the added complexity of these systems. Instead, compilers should be extended to automatically handle as much...

متن کامل

HPVM: A Portable Virtual Instruction Set for Heterogeneous Parallel Systems

We describe a programming abstraction for heterogeneous parallel hardware, designed to capture a wide range of popular parallel hardware, including GPUs, vector instruction sets and multicore CPUs. Our abstraction, which we call HPVM , is a hierarchical dataflow graph with shared memory and vector instructions. We use HPVM to define both a virtual instruction set (ISA) and also a compiler inter...

متن کامل

Combining Processor Virtualization and Split Compilation for Heterogeneous Multicore Embedded Systems

Complex embedded systems have always been heterogeneous multicore systems. Because of the tight constraints on power, performance and cost, this situation is not likely to change any time soon. As a result, the software environments required to program those systems have become very complex too. We propose to apply instruction set virtualization and just-in-time compilation techniques to progra...

متن کامل

An Implementation of the Shared Data Formats Standard for Distributed Shared Memories

Distributed Shared Memory (DSM) is a mechanism by which processes can share data over a network using the memory abstraction 3]. The processors may be heterogeneous, one diierence being that they use incompatible data formats for such basic types as integers. Programmers need a programming mechanism for dealing with these diierences. In this paper we describe a compiler which supports IEEE 1596...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1996